package com.easygem.front.service;

import com.easygem.common.model.front.HighSeasClient;
import com.easygem.common.vo.front.HighSeasClientVO;
import com.easygem.common.vo.system.PageVO;
import com.easygem.front.mapper.HighSeasClientMapper;
import com.easygem.front.service.base.IBaseService;

import java.util.List;

/**
 * @author luoxi
 * @version 1.0
 * @className HighSeasClientService
 * @Description 公海业务层
 * @date 2024/12/23 15:36
 */
public interface HighSeasClientService extends IBaseService<HighSeasClientMapper, HighSeasClient,Integer> {
    /**
     * 多条件联表查询公海客户
     * @param pageNum
     * @param pageSize
     * @param highSeasClientVO
     * @return
     */
    PageVO<HighSeasClient> findList(Integer pageNum, Integer pageSize, HighSeasClientVO highSeasClientVO);

    /**
     * 将资源的删除状态变为1
     * @param Id
     * @return
     */
    int delete(Integer Id);

//    /**
//     * 判断用户今日公海客户领取量是否大于系统规定
//     * @return
//     */
//    int isExceedHighSeasClien();

//    /**
//     * 清除用户今日领取公海客户数量
//     * @return
//     */
//    int clearUsersHighSeasCount();

    /**
     * 将用户今日领取公海客户数量+1
     * @return
     */
    int usersHighSeasCountAccumulate();

    /**
     * 将公海客户拉取为用户资源
     * @param id
     * @return
     */
    int updateUserId(Long id);

    /**
     * 删除公海客户的记录，使资源不再是公海客户
     * @param id
     * @return
     */
    int deleteHighSeasClientById(Integer id);

    /**
     * 全部导出
     * @return
     */
    List<HighSeasClient> findAll();

    /**
     * 批量导出
     * @param ids
     * @return
     */
    List<HighSeasClient> findAllByIds(List<Long> ids);
    //加入公海
    Integer toHighSeas(Long[] resourceIds);
}
